<?php
// 注册自动加载函数
spl_autoload_register(function($className) {
    // 命名空间前缀到目录路径的映射
    $prefixes = [
        'core\\' => CORE_PATH,
        'app\\' => APP_PATH
    ];

    // 检查每个前缀
    foreach ($prefixes as $prefix => $baseDir) {
        // 检查类名是否以当前前缀开头
        $prefixLen = strlen($prefix);
        if (strncmp($prefix, $className, $prefixLen) !== 0) {
            continue;
        }

        // 获取相对类名
        $relativeClass = substr($className, $prefixLen);

        // 替换命名空间分隔符为目录分隔符
        $file = $baseDir . str_replace('\\', '/', $relativeClass) . '.php';

        // 如果文件存在，加载它
        if (file_exists($file)) {
            require $file;
            return;
        }
    }
});

// 加载配置文件
$config = require CONFIG_PATH . 'app.php';

// 引入App类的命名空间
use core\App;

// 设置配置并初始化应用
App::setConfig($config);

// 加载路由
require ROUTE_PATH . 'route.php';